struct _NODE_HISTORY {
	char *string;
	struct _NODE_HISTORY *next;
	struct _NODE_HISTORY *prev;
};

struct _LINKED_LIST_HISTORY {
	int size;
	struct _NODE_HISTORY *head;
};

typedef struct _LINKED_LIST_HISTORY * listHistory;
typedef struct _NODE_HISTORY * nodeHistory;

struct _LINKED_LIST_HISTORY * createListHistory(void);
int insertNodeHistory(struct _LINKED_LIST_HISTORY *, char *);
int prependNodeHistory(struct _LINKED_LIST_HISTORY *, char *);
struct _NODE_HISTORY * searchNodeHistory(char *); /* Retorna a primeira ocorrência */
struct _NODE_HISTORY ** searchNodeHistory2(char *); /* Retorna todas as ocorrências */
void printHistory(struct _LINKED_LIST_HISTORY *);
int saveHistory(listHistory);
listHistory loadHistory(void);
